
var staff                 = $('#staff'),
    staffAdd              = $('#staff-add'),
    field                 = $('#field'),
    staffEdit             = $('#staff-edit'),
    staffTool             = $('#staff-tool'),

    staffSearchGender           = $('#staff-search-gender'),
    staffSearchMaritalStatus    = $('#staff-search-marital-status'),
    staffSearchEducation        = $('#staff-search-education'),
    staffSearchType             = $('#staff-search-type'),
    staffSearchIdCard           = $('#staff-search-id-card'),
    staffSearchNation           = $('#staff-search-nation'),
    staffSearchPost             = $('#staff-search-post'),
    staffSearchEntryStatus      = $('#staff-search-entry-status'),

    staffSearchKeywords           = $('#staff-search-keywords'),
    staffSearchDateType           = $('#staff-search-date-type'),
    staffSearchDateFrom           = $('#staff-search-date-from'),
    staffSearchDateTo             = $('#staff-search-date-to'),

    staffAddName                = $('#staff-add-name'),
    staffAddNumber              = $('#staff-add-number'),
    staffAddTel                 = $('#staff-add-tel'),
    staffAddType                = $('#staff-add-type'),
    staffAddPoliticsStatus      = $('#staff-add-politics-status'),
    staffAddDetails             = $('#staff-add-details'),
    staffAddDimissionDate       = $('#staff-add-dimission-date'),
    staffAddEducation           = $('#staff-add-education'),
    staffAddSpecialty           = $('#staff-add-specialty'),
    staffAddGender              = $('#staff-add-gender'),
    staffAddRegisteredAddress   = $('#staff-add-registered_address'),
    staffAddRegistered          = $('#staff-add-registered'),
    staffAddNation              = $('#staff-add-nation'),
    staffAddPost                = $('#staff-add-post'),
    staffAddIntro               = $('#staff-add-intro'),
    staffAddHealth              = $('#staff-add-health'),
    staffAddIdCard              = $('#staff-add-id_card'),
    staffAddGraduateDate        = $('#staff-add-graduate_date'),
    staffAddGraduateColleges    = $('#staff-add-graduate_colleges'),
    staffAddEntryDate           = $('#staff-add-entry-date'),
    staffAddEntryStatus         = $('#staff-add-entry-status'),
    staffAddMaritalStatus       = $('#staff-add-marital-status'),


    staffEditId                  = $('#staff-edit-id'),
    staffEditName                = $('#staff-edit-name'),
    staffEditNumber              = $('#staff-edit-number'),
    staffEditTel                 = $('#staff-edit-tel'),
    staffEditType                = $('#staff-edit-type'),
    staffEditPoliticsStatus      = $('#staff-edit-politics-status'),
    staffEditDetails             = $('#staff-edit-details'),
    staffEditDimissionDate       = $('#staff-edit-dimission-date'),
    staffEditEducation           = $('#staff-edit-education'),
    staffEditSpecialty           = $('#staff-edit-specialty'),
    staffEditGender              = $('#staff-edit-gender'),
    staffEditRegisteredEditress  = $('#staff-edit-registered_address'),
    staffEditRegistered          = $('#staff-edit-registered'),
    staffEditNation              = $('#staff-edit-nation'),
    staffEditPost                = $('#staff-edit-post'),
    staffEditIntro               = $('#staff-edit-intro'),
    staffEditHealth              = $('#staff-edit-health'),
    staffEditIdCard              = $('#staff-edit-id_card'),
    staffEditGraduateDate        = $('#staff-edit-graduate_date'),
    staffEditGraduateColleges    = $('#staff-edit-graduate_colleges'),
    staffEditEntryDate           = $('#staff-edit-entry-date'),
    staffEditEntryStatus         = $('#staff-edit-entry-status'),
    staffEditMaritalStatus       = $('#staff-edit-marital-status'),


    staffDate,
    staffOpt;

//获取数据
staff.datagrid({
    url: ThinkPHP['MODULE'] + '/Staff/getList',
    fit: true,
    fitColumns: true,
    border: false,
    rownumbers: true,
    pagination: true,
    pageSize:10,
    pageNumber:1,
    pageList:[10,20,30,40,50],
    sortName: 'create_time',
    sortOrder: 'DESC',
    toolbar: '#staff-tool',
    columns: [[
        {
            field: 'id',
            title: '自动编号',
            width: 100,
            checkbox: true,
        },
        {
            field: 'name',
            title: '员工姓名',
            width: 100,
        },
        {
            field: 'number',
            title: '员工编号',
            width: 100,
            sortable: true,
        },
        {
            field: 'id_card',
            title: '身份证',
            width: 145,
            fixed: true,
            sortable: true,
        },
        {
            field: 'tel',
            title: '电话号码',
            width: 110,
        },
        {
            field: 'marital_status',
            title: '婚姻',
            width: 100,
            sortable: true,
        },
        {
            field: 'nation',
            title: '民族',
            width: 100,

        },
        {
            field: 'type',
            title: '员工类型',
            width: 100,
            sortable: true,
        },
        {
            field: 'post',
            title: '职位',
            width: 100,
            sortable: true,
        },
        {
            field: 'entry_status',
            title: '在职状态',
            width: 100,
            sortable: true,
        },
        {
            field: 'entry_date',
            title: '入职时间',
            width: 100,
            sortable: true,
        },
        {
            field: 'dimission_date',
            title: '离职时间',
            width: 100,
            sortable: true,
        },
        {
            field: 'gender',
            title: '性别',
            width: 60,
        },
        {
            field: 'education',
            title: '学历',
            width: 100,
            sortable: true,
        },
        {
            field: 'create_time',
            title: '创建时间',
            hidden:true,
            width: 100,
            sortable: true,
        },
        {
            field: 'details',
            title: '详情',
            width: 60,
            fixed: true,
            formatter: function (value,row) {
                return '<a href="javascript:void(0);" class="staff-edit-details" ' +
                       'style="height:18px; margin-left: 11px;" onclick="staffOpt.details(' + row.id + ')"></a>';
            }
        },
    ]],
    onLoadSuccess: function () {
        $('.staff-edit-details').linkbutton({
            iconCls: 'icon-text',
            plain: true,
        });
    },
    onClickCell: function (index,field) {
        if (field == 'details') {
            staff.datagrid('selectRow', index);

        }
    }

});




//工具条操作
staffOpt = {
    add: function () {
        staffAdd.dialog('open');
    },
    edit: function () {
        var rows = staff.datagrid('getSelections');
        if (rows.length == 1) {
            staffEdit.dialog('open');
            $.ajax({
                url: ThinkPHP['MODULE'] + '/Staff/getOne',
                type: 'POST',
                data: {
                    'id': rows[0].id
                },
                beforeSend:function () {
                    $.messager.progress({'text':'正在获取数据...'});
                },
                success: function (data) {
                    $.messager.progress('close');
                    if (data) {
                        staffEdit.form('load',{
                           'id' : data.id,
                           'name' :data.name,
                           'gender': data.gender,
                           'post': data.post,
                           'type': data.type,
                           'nation': data.nation,
                           'entry_date': data.entry_date,
                           'entry_status': data.entry_status,
                           'dimission_date': data.dimission_date,
                           'intro': data.intro,
                           'health': data.health,
                           'graduate_date': data.graduate_date,
                           'graduate_colleges': data.graduate_colleges,
                           'education': data.education,
                           'specialty': data.specialty,
                           'registered': data.registered,
                           'registered_address': data.registered_address,
                           'politics_status': data.politics_status,
                           'id_card': data.id_card,
                           'tel': data.tel,
                           'number': data.number,
                           'marital_status': data.marital_status,
                        })
                        staffEditName.textbox('textbox').select();
                        STAFF_EDIT.html(data.details);
                        if (data.gender == '男') {
                            $('#staff-edit-gender-1').linkbutton('select');
                        } else {
                            $('#staff-edit-gender-2').linkbutton('select');
                        }

                    } else {
                        $.messager.alert('操作警告', '没有获取到相应数据', 'warning');
                    }
                }
            });
        } else {
            $.messager.alert('编辑操作', '编辑记录只能选择一条数据', 'warning');
        }
    },
    remove: function () {
        var rows = staff.datagrid('getSelections');
        var ids = [];
        if (rows.length > 0) {
            for(var i=0; i<rows.length; i++){
                if (rows[i].user_id == 0) {
                    //关联档案忽略删除命令
                    ids.push(rows[i].id);
                }
            }

            $.messager.confirm('删除操作', '你真的要删除 '+ rows.length + '条数据吗？',function (flag) {
                if(flag) {
                    $.ajax({
                        url: ThinkPHP['MODULE'] +　'/Staff/remove',
                        type: 'POST',
                        data: {
                            'ids' : ids.join(','),
                        },
                        beforeSend: function () {
                            staff.datagrid('loading');
                        },
                        success: function (data) {
                            staff.datagrid('loaded');
                            if (data) {
                                staff.datagrid('reload');
                                $.messager.show({
                                    title: '删除提示',
                                    msg : '删除' + data + '条数据'
                                });
                            } else {
                                $.messager.alert('删除提示','没有任何数据被删除','warning');
                            }


                        }
                    });
                }
            });

        } else {
            $.messager.alert('编辑操作', '删除记录至少选择一条数据', 'warning');
        }

    },
    reload: function () {
        staff.datagrid('reload');
    },
    redo: function () {
        staff.datagrid('unselectAll');
    },
    search: function () {
        if (staffTool.form('validate')) {
            staff.datagrid('load', {
                keywords: staffSearchKeywords.textbox('getValue'),
                dateType: staffSearchDateType.combobox('getValue'),
                dateFrom: staffSearchDateFrom.textbox('getValue'),
                dateTo:   staffSearchDateTo.textbox('getValue'),

                id_card:            staffSearchIdCard.textbox('getValue'),
                nation:             staffSearchNation.textbox('getValue'),
                gender:             staffSearchGender.combobox('getValue'),
                marital_status:     staffSearchMaritalStatus.combobox('getValue'),
                type:               staffSearchType.combobox('getValue'),
                post:               staffSearchPost.combobox('getValue'),
                entry_status:       staffSearchEntryStatus.combobox('getValue'),
                education:          staffSearchEducation.combobox('getValue'),

            });
        } else {
            staffSearchDateType.combobox('showPanel')
        }
    },
    reset: function () {

        staffSearchIdCard.textbox('clear'),
        staffSearchNation.textbox('clear'),
        staffSearchGender.combobox('clear'),
        staffSearchMaritalStatus.combobox('clear'),
        staffSearchType.combobox('clear'),
        staffSearchPost.combobox('clear'),
        staffSearchEntryStatus.combobox('clear'),
        staffSearchEducation.combobox('clear'),


        staffSearchKeywords.textbox('clear');
        staffSearchDateType.combobox('clear').combobox('disableValidation');
        staffSearchDateFrom.datebox('clear');
        staffSearchDateTo.datebox('clear');

        staff.datagrid('sort',{
            sortAccounts: 'create_time',
            sortOrder: 'DESC'
        });
    this.search();
    },
    field: function () {
        if (field.linkbutton('options').text == '展开查询字段') {
            $('.more').show();
            field.linkbutton({
                'text' : '收起查询字段',
                iconCls: 'icon-reducesearch'
            }).linkbutton('select');
        } else {
            $('.more').hide();
            field.linkbutton({
                'text': '展开查询字段',
                'iconCls': 'icon-addsearch'
            }).linkbutton('unselect');
        }


    },
    details : function (id) {
        details.dialog('open').
        dialog('setTitle', '员工档案详情').
        dialog('refresh', ThinkPHP['MODULE'] + '/Staff/getDetails/?id=' + id);

},
}

//新增对话框
staffAdd.dialog({
    title: '员工新增',
    width: 780,
    height: 500,
    closed: true,
    iconCls:'icon-add',
    modal:true,
    maximizable:true,
    buttons:[{
        text:'保存',
        size:'large',
        iconCls:'icon-accept',
        handler:function(){
            if (staffAdd.form('validate')) {
                //设置同步，否则接收不到值
                STAFF_ADD.sync();
                $.ajax({
                    url: ThinkPHP['MODULE'] + '/Staff/register',
                    type: 'POST',
                    data: {
                        'name':                 $.trim(staffAddName.val()),
                        'number':               $.trim(staffAddNumber.val()),
                        'tel':                  $.trim(staffAddTel.val()),
                        'post':                 $.trim(staffAddPost.combobox('getValue')),
                        'id_card':              $.trim(staffAddIdCard.val()),
                        'intro':                $.trim(staffAddIntro.val()),
                        'registered_address':   $.trim(staffAddRegisteredAddress.val()),
                        'registered':           $.trim(staffAddRegistered.combobox('getValue')),
                        'specialty':            $.trim(staffAddSpecialty.val()),
                        'politics_status':      $.trim(staffAddPoliticsStatus.combobox('getValue')),
                        'details':              $.trim(staffAddDetails.val()),
                        'nation':               $.trim(staffAddNation.val()),
                        'dimission_date':       $.trim(staffAddDimissionDate.datebox('getValue')),
                        'education':            $.trim(staffAddEducation.combobox('getValue')),
                        'gender':               $.trim(staffAddGender.val()),
                        'health':               $.trim(staffAddHealth.val()),
                        'graduate_date':        $.trim(staffAddGraduateDate.datebox('getValue')),
                        'graduate_colleges':    $.trim(staffAddGraduateColleges.val()),
                        'entry_date':           $.trim(staffAddEntryDate.datebox('getValue')),
                        'entry_status':         $.trim(staffAddEntryStatus.datebox('getValue')),
                        'marital_status':       $.trim(staffAddMaritalStatus.combobox('getValue')),
                        'type':                 $.trim(staffAddType.combobox('getValue'))
                    },
                    beforeSend: function () {
                        $.messager.progress({
                            'text': '正在处理中...'
                        });
                    },
                    success: function (data) {
                        $.messager.progress('close');
                        if (data > 0) {
                            $.messager.show({
                                title: '操作提示',
                                  msg: '添加成功'
                            });
                            staffAdd.dialog('close');
                            staff.datagrid('reload');
                        } else if (data == -1) {
                            $.messager.alert('添加操作', '员工工号被占用', 'warning', function () {
                                staffAddNumber.textbox('textbox').select();
                            });
                        } else if (data == -2) {
                            $.messager.alert('添加操作', '身份证号重复', 'warning', function () {
                                staffAddIdCard.textbox('textbox').select();
                            });
                        }
                    }
                });
            }

        }
    },{
        text:'取消',
        size:'large',
        iconCls:'icon-cross',
        handler:function(){
            staffAdd.dialog('close');
        }
    }],
    onClose: function () {
        staffAdd.form('reset');
        staffAdd.dialog('center');
        //清空内容
        STAFF_ADD.html('');
    },
    onOpen: function () {
        //编辑器里默认为空值
        STAFF_ADD.html('');
    }
});

//编辑对话框
staffEdit.dialog({
    title: '编辑档案',
    width: 780,
    height: 500,
    closed: true,
    iconCls:'icon-edit',
    modal:true,
    maximizable:true,
    buttons:[{
        text:'保存',
        size:'large',
        iconCls:'icon-accept',
        handler:function(){
            if (staffEdit.form('validate')) {
                //设置同步，否则接收不到值
                STAFF_EDIT.sync();
                $.ajax({
                    url: ThinkPHP['MODULE'] + '/Staff/update',
                    type: 'POST',
                    data: {
                        'id':                   staffEditId.val(),
                        'name':                 $.trim(staffEditName.val()),
                        'number':               $.trim(staffEditNumber.val()),
                        'tel':                  $.trim(staffEditTel.val()),
                        'post':                 $.trim(staffEditPost.combobox('getValue')),
                        'id_card':              $.trim(staffEditIdCard.val()),
                        'intro':                $.trim(staffEditIntro.val()),
                        'registered_address':   $.trim(staffEditRegisteredEditress.val()),
                        'registered':           $.trim(staffEditRegistered.combobox('getValue')),
                        'specialty':            $.trim(staffEditSpecialty.val()),
                        'politics_status':      $.trim(staffEditPoliticsStatus.combobox('getValue')),
                        'details':              $.trim(staffEditDetails.val()),
                        'nation':               $.trim(staffEditNation.val()),
                        'dimission_date':       $.trim(staffEditDimissionDate.datebox('getValue')),
                        'education':            $.trim(staffEditEducation.combobox('getValue')),
                        'gender':               $.trim(staffEditGender.val()),
                        'health':               $.trim(staffEditHealth.val()),
                        'graduate_date':        $.trim(staffEditGraduateDate.datebox('getValue')),
                        'graduate_colleges':    $.trim(staffEditGraduateColleges.val()),
                        'entry_date':           $.trim(staffEditEntryDate.datebox('getValue')),
                        'entry_status':         $.trim(staffEditEntryStatus.datebox('getValue')),
                        'marital_status':       $.trim(staffEditMaritalStatus.combobox('getValue')),
                        'type':                 $.trim(staffEditType.combobox('getValue'))
                    },
                    beforeSend: function () {
                        $.messager.progress({
                            'text': '正在处理中...'
                        });
                    },
                    success: function (data) {
                        $.messager.progress('close');
                        if (data > 0) {
                            $.messager.show({
                                title: '操作提示',
                                msg: '修改成功'
                            });
                            staffEdit.dialog('close');
                            staff.datagrid('reload');
                        } else if (data == -1) {
                            $.messager.alert('添加操作', '员工工号被占用', 'warning', function () {
                                staffEditNumber.textbox('textbox').select();
                            });
                        } else if (data == -2) {
                            $.messager.alert('添加操作', '身份证号重复', 'warning', function () {
                                staffEditIdCard.textbox('textbox').select();
                            });
                        }else if(data == 0) {
                            $.messager.alert('修改操作', '尚未修改字段或未知错误', 'warning', function () {
                                staffEditName.textbox('textbox').select();
                            });
                        }
                    }
                });
            }
        }
    },{
        text:'取消',
        size:'large',
        iconCls:'icon-cross',
        handler:function(){
            staffEdit.dialog('close');
        }
    }],
    onClose: function () {
        staffEdit.form('reset');
        staffEdit.dialog('center');
    }



});

/***********************搜索区域********************/
//关键字
staffSearchKeywords.textbox({
    width: 150,
    prompt: '姓名|工号|电话'
});
//时间类型
staffSearchDateType.combobox({
    width: 100,
    editable: false,
    prompt: '时间类型',
    data: [{
        id: 'create_time',
        text: '创建时间'
    }],
    valueField: 'id',
    textField: 'text',
    required: true,
    novalidate: true,
    panelHeight: 'auto',
    tipPosition : 'left',
    missingMessage : '请选择时间类型'
})
//查询时间对象
staffDate = {
    width: 100,
    editable: false,
    onSelect:function () {
        if (staffSearchDateType.combobox('enableValidation').combobox('isValid') == false) {
            staffSearchDateType.combobox('showPanel');
        }
    }

}
staffDate.prompt = '起始时间';
staffSearchDateFrom.datebox(staffDate);
staffDate.prompt = '结束时间'
staffSearchDateTo.datebox(staffDate);
//搜索在职状态
staffSearchEntryStatus.combobox({
   width: 93,
    prompt:'在职状态',
    data: [{
       'id': '在职',
        'text': '在职'
    },{
        'id': '调休',
        'text': '调休'
    },{
        'id': '退休',
        'text': '退休'
    }
    ],
    editable:false,
    valueField : 'id',
    textField: 'text',
    panelHeight: 'auto'
});
//搜索性别
staffSearchGender.combobox({
    width: 73,
    prompt:'性别',
    data: [{
        'id': '男',
        'text': '男'
    },{
        'id': '女',
        'text': '女'
    }
    ],
    editable : false,
    valueField : 'id',
    textField: 'text',
    panelHeight: 'auto'
});
//搜索学历
staffSearchEducation.combobox({
    width: 73,
    prompt:'学历',
    data: [{
        'id': '大专',
        'text': '大专'
    },{
        'id': '本科',
        'text': '本科'
    }, {
        'id': '硕士',
        'text': '硕士'

    }, {
        'id': '博士',
        'text': '博士'

    }],
    valueField : 'id',
    textField: 'text',
    panelHeight: 'auto'
});
//搜索员工类型
staffSearchType.combobox({
    width: 80,
    prompt: '员工类型',
    data: [{
       'id': '合同工',
        'text':'合同工'
    },{
        'id': '临时工',
        'text':'临时工'
    },{
        'id': '正式员工',
        'text': '正式员工'
    }],
    editable : false,
    valueField: 'id',
    textField: 'text',
    panelHeight: 'auto'
});
//搜索婚姻
staffSearchMaritalStatus.combobox({
    width:73,
    prompt:'婚姻',
    data: [{
        'id': '已婚',
        'text': '已婚'
    },{
        'id': '未婚',
        'text': '未婚'
    },{
        'id': '离异',
        'text':'离异'
    }, {
        id : '丧偶',
        text : '丧偶'
    }],
    editable : false,
    valueField : 'id',
    textField : 'text',
    panelHeight : 'auto'

})
//搜索职位
staffSearchPost.combobox({
    width:73,
    prompt:'职位',
    url: ThinkPHP['MODULE'] + '/Post/getList',
    queryParams: {
        all: true
    },
    editable : false,
    valueField: 'name',
    textField: 'name',
    panelHeight: 'auto'

})
//身份证搜索
staffSearchIdCard.textbox({
    width: 220,
    prompt:'身份证(请输入精准18 位身份证号码)',
    validType: 'id_card',
    invalidMessage:'身份证格式不正确，且精确到18 位',
    tipPostion:'bottom'
})
//民族的搜索
staffSearchNation.textbox({
    width: 220,
    prompt:'请输入精准关键字，如:汉族',
    validType: 'nation',
    invalidMessage: '请输入精准关键字，并且最多共5个字符 如:汉族',
    tipPostion:'bottom'
})

//检查身份证是否合法的验证扩展
$.extend($.fn.validatebox.defaults.rules, {
    id_card: {
        validator: function(value,param){
            return /^[0-9]{17}[xX0-9]$/.test(value);
        }
    }
});
//检查民族是否合法的验证扩展
$.extend($.fn.validatebox.defaults.rules, {
    nation: {
        validator: function(value,param){
            return /^.{1,4}族$/.test(value);
        }
    }
});
//检查员工工号否合法的验证扩展
$.extend($.fn.validatebox.defaults.rules, {
    number: {
        validator: function(value,param){
            return /^[0-9]{4}$/.test(value);
        }
    }
});
//加载新增编辑器
STAFF_ADD = KindEditor.create('#staff-add-details', {
    width : '99%',
    height : '200px',
    resizeType : 0,
    items : editor_tool
});
/***********************搜索区域********************/

/***********************新增档案********************/
//性别 新增
$('#staff-add-gender-1').linkbutton({
    plain: true,
    toggle:true,
    selected: true,
    iconCls: 'icon-male',
    group: 'staff_add_gender',
    onClick:function () {
        staffAddGender.val('男');
    }
})
$('#staff-add-gender-2').linkbutton({
    plain: true,
    toggle: true,
    iconCls: 'icon-female',
    group: 'staff_add_gender',
    onClick:function () {
        staffAddGender.val('女');
    }
});

//新增员工
staffAddName.textbox( {
    width: 240,
    height: 32,
    required: true,
    validType: 'length[2,20]',
    missingMessage: '请输入员工姓名',
    invalidMessage: '员工姓名2到20位'
});
//员工工号
staffAddNumber.textbox( {
    width: 240,
    height: 32,
    required: true,
    validType: 'number',
    missingMessage: '请输入员工工号',
    invalidMessage: '员工工号四位数字，如：1001'
});
//职位
staffAddPost.combobox({
    width: 140,
    height:32,
    required: true,
    prompt:'职位',
    url: ThinkPHP['MODULE'] + '/Post/getList',
    queryParams: {
        all: true
    },
    editable : false,
    missingMessage: '请选择员工职位',
    valueField: 'name',
    textField: 'name',
    panelHeight: 'auto'

})
//健康
staffAddHealth.textbox({
    width: 240,
    height:32,
    validType: 'length[1,30]',
    invalidMessage:'健康状态1到30位',
})
//专业
staffAddSpecialty.textbox({
    width: 240,
    height:32,
    validType: 'length[2,20]',
    invalidMessage:'专业名称2到20位',
})
//毕业院校
staffAddGraduateColleges.textbox({
    width: 240,
    height:32,
    validType: 'length[2,20]',
    invalidMessage:'毕业院校名称2到20位',
})
//民族
staffAddNation.textbox({
    width: 240,
    height:32,
    prompt:'至少两位，包含‘族’字',
    validType: 'nation',
    invalidMessage:'民族格式不正确，至少两位，包含‘族’字',
})
//户口所在地
staffAddRegisteredAddress.textbox({
    width: 240,
    height:32,
    validType: 'length[2,50]',
    invalidMessage:'户口所在地2到50位',
})
//离职时间
staffAddDimissionDate.datebox({
    width : 140,
    height : 32,
    editable : false
});
//入职时间
staffAddEntryDate.datebox({
   width: 140,
   height:32,
   editable: false
});
//毕业时间
staffAddGraduateDate.datebox({
    width: 140,
    height:32,
    editable: false
});
//手机号码
staffAddTel.textbox({
    width:240,
    height:32,
    validType:'length[11,11]',
    missingMessage:'请输入手机号码',
    invalidMessage:'手机号码11位数字'
});
//员工类型
staffAddType.combobox({
    width: 140,
    heigth:32,
    prompt: '员工类型',
    data: [{
        'id': '合同工',
        'text':'合同工'
    },{
        'id': '临时工',
        'text':'临时工'
    },{
        'id': '正式员工',
        'text': '正式员工'
    }],
    editable : false,
    valueField: 'id',
    textField: 'text',
    panelHeight: 'auto'
});
//婚姻
staffAddMaritalStatus.combobox({
    width:140,
    height:32,
    prompt:'婚姻',
    data: [{
        'id': '已婚',
        'text': '已婚'
    },{
        'id': '未婚',
        'text': '未婚'
    },{
        'id': '离异',
        'text':'离异'
    }, {
        id : '丧偶',
        text : '丧偶'
    }],
    editable : false,
    valueField : 'id',
    textField : 'text',
    panelHeight : 'auto'

})
//在职状态
staffAddEntryStatus.combobox({
    width: 140,
    height:32,
    prompt:'在职状态',
    data: [{
        'id': '在职',
        'text': '在职'
    },{
        'id': '调休',
        'text': '调休'
    },{
        'id': '退休',
        'text': '退休'
    }
    ],
    editable:false,
    valueField : 'id',
    textField: 'text',
    panelHeight: 'auto'
});
//政治面貌
staffAddPoliticsStatus.combobox({
    width: 140,
    height:32,
    prompt:'政治面貌',
    data: [{
        'id': '团员',
        'text': '团员'
    },{
        'id': '党员',
        'text': '党员'
    },{
        'id': '群众',
        'text': '群众'
    }
    ],
    editable:false,
    valueField : 'id',
    textField: 'text',
    panelHeight: 'auto'
});
//户口类型
staffAddRegistered.combobox({
    width: 140,
    height:32,
    prompt:'户口类型',
    data: [{
        id : '本地城市户口',
        text : '本地城市户口'
    },{
        id : '本地农村户口',
        text : '本地农村户口'
    },{
        id : '外地户口',
        text : '外地户口'
    }],
    editable:false,
    valueField : 'id',
    textField: 'text',
    panelHeight: 'auto'
});
//学历
staffAddEducation.combobox({
    width: 140,
    heigth:32,
    prompt:'学历',
    data: [{
        'id': '大专',
        'text': '大专'
    },{
        'id': '本科',
        'text': '本科'
    }, {
        'id': '硕士',
        'text': '硕士'

    }, {
        'id': '博士',
        'text': '博士'

    }],
    valueField:'id',
    textField:'text',
    panelHeight:'auto'
});
//身份证
staffAddIdCard.textbox({
    width: 220,
    height:32,
    prompt:'身份证(请输入精准18 位身份证号码)',
    validType: 'id_card',
    invalidMessage:'身份证格式不正确，且精确到18 位',
})
/*******************************编辑档案***************************************/
//员工 编辑
staffEditName.textbox( {
    width: 240,
    height: 32,
    required: true,
    disable: true,
    validType: 'length[2,20]',
    missingMessage: '请输入员工姓名',
    invalidMessage: '员工姓名2到20位'
});
//员工工号 编辑
staffEditNumber.textbox( {
    width: 240,
    height: 32,
    required: true,
    validType: 'number',
    missingMessage: '请输入员工工号',
    invalidMessage: '员工工号四位数字，如：1001'
});
//性别 编辑
$('#staff-edit-gender-1').linkbutton({
    plain: true,
    toggle:true,
    iconCls: 'icon-male',
    group: 'staff_edit_gender',
    onClick:function () {
        staffEditGender.val('男');
    }
})
$('#staff-edit-gender-2').linkbutton({
    plain: true,
    toggle: true,
    iconCls: 'icon-female',
    group: 'staff_edit_gender',
    onClick:function () {
        staffEditGender.val('女');
    }
});

//职位
staffEditPost.combobox({
    width: 140,
    height:32,
    required: true,
    prompt:'职位',
    url: ThinkPHP['MODULE'] + '/Post/getList',
    queryParams: {
        all: true
    },
    editable : false,
    missingMessage: '请选择员工职位',
    valueField: 'name',
    textField: 'name',
    panelHeight: 'auto'

})
//健康
staffEditHealth.textbox({
    width: 240,
    height:32,
    validType: 'length[1,30]',
    invalidMessage:'健康状态1到30位',
})
//专业
staffEditSpecialty.textbox({
    width: 240,
    height:32,
    validType: 'length[2,20]',
    invalidMessage:'专业名称2到20位',
})
//毕业院校
staffEditGraduateColleges.textbox({
    width: 240,
    height:32,
    validType: 'length[2,20]',
    invalidMessage:'毕业院校名称2到20位',
})
//民族
staffEditNation.textbox({
    width: 240,
    height:32,
    prompt:'至少两位，包含‘族’字',
    validType: 'nation',
    invalidMessage:'民族格式不正确，至少两位，包含‘族’字',
})
//户口所在地
staffEditRegisteredEditress.textbox({
    width: 240,
    height:32,
    validType: 'length[2,50]',
    invalidMessage:'户口所在地2到50位',
})
//离职时间
staffEditDimissionDate.datebox({
    width : 140,
    height : 32,
    editable : false
});
//入职时间
staffEditEntryDate.datebox({
    width: 140,
    height:32,
    editable: false
});
//毕业时间
staffEditGraduateDate.datebox({
    width: 140,
    height:32,
    editable: false
});
//手机号码
staffEditTel.textbox({
    width:240,
    height:32,
    validType:'length[11,11]',
    missingMessage:'请输入手机号码',
    invalidMessage:'手机号码11位数字'
});
//员工类型
staffEditType.combobox({
    width: 140,
    heigth:32,
    prompt: '员工类型',
    data: [{
        'id': '合同工',
        'text':'合同工'
    },{
        'id': '临时工',
        'text':'临时工'
    },{
        'id': '正式员工',
        'text': '正式员工'
    }],
    editable : false,
    valueField: 'id',
    textField: 'text',
    panelHeight: 'auto'
});
//婚姻
staffEditMaritalStatus.combobox({
    width:140,
    height:32,
    prompt:'婚姻',
    data: [{
        'id': '已婚',
        'text': '已婚'
    },{
        'id': '未婚',
        'text': '未婚'
    },{
        'id': '离异',
        'text':'离异'
    }, {
        id : '丧偶',
        text : '丧偶'
    }],
    editable : false,
    valueField : 'id',
    textField : 'text',
    panelHeight : 'auto'

})
//在职状态
staffEditEntryStatus.combobox({
    width: 140,
    height:32,
    prompt:'在职状态',
    data: [{
        'id': '在职',
        'text': '在职'
    },{
        'id': '调休',
        'text': '调休'
    },{
        'id': '退休',
        'text': '退休'
    }
    ],
    editable:false,
    valueField : 'id',
    textField: 'text',
    panelHeight: 'auto'
});
//政治面貌
staffEditPoliticsStatus.combobox({
    width: 140,
    height:32,
    prompt:'政治面貌',
    data: [{
        'id': '团员',
        'text': '团员'
    },{
        'id': '党员',
        'text': '党员'
    },{
        'id': '群众',
        'text': '群众'
    }
    ],
    editable:false,
    valueField : 'id',
    textField: 'text',
    panelHeight: 'auto'
});
//户口类型
staffEditRegistered.combobox({
    width: 140,
    height:32,
    prompt:'户口类型',
    data: [{
        id : '本地城市户口',
        text : '本地城市户口'
    },{
        id : '本地农村户口',
        text : '本地农村户口'
    },{
        id : '外地户口',
        text : '外地户口'
    }],
    editable:false,
    valueField : 'id',
    textField: 'text',
    panelHeight: 'auto'
});
//学历
staffEditEducation.combobox({
    width: 140,
    heigth:32,
    prompt:'学历',
    data: [{
        'id': '大专',
        'text': '大专'
    },{
        'id': '本科',
        'text': '本科'
    }, {
        'id': '硕士',
        'text': '硕士'

    }, {
        'id': '博士',
        'text': '博士'

    }],
    valueField:'id',
    textField:'text',
    panelHeight:'auto'
});
//身份证
staffEditIdCard.textbox({
    width: 240,
    height:32,
    prompt:'身份证(请输入精准18 位身份证号码)',
    validType: 'id_card',
    invalidMessage:'身份证格式不正确，且精确到18 位',
})

//加载新增编辑器
STAFF_EDIT = KindEditor.create('#staff-edit-details', {
    width : '99%',
    height : '200px',
    resizeType : 0,
    items : editor_tool
});
/***********************新增-编辑********************/

